Technologies for interfacing an input overlay device with a touch screen compute device

ABSTRACT

Technologies for interfacing an input overlay device with a touch screen of a computing device are disclosed. A computing device includes a touch screen and at least one processor to execute instructions to: determine parameters associated with an input overlay device overlying the touch screen, the input overlay device separate from the computing device, the parameters to identify a first area of the touch screen and a second area of the touch screen different than the first area, the first area corresponding to an area of the touch screen covered by the input overlay device; detect a position of a touch on the touch screen; if the position of the touch is in the first area, determine an input for the computing device based on the position of the touch; and if the position of the touch is in the second area, ignore the touch.

RELATED APPLICATIONS

This patent arises from a continuation of U.S. patent application Ser.No. 16/144,402 (now U.S. Pat. No. 10,921,912), which was filed on Sep.27, 2018, and which is incorporated herein by reference in its entirety.Priority to U.S. patent application Ser. No. 16/144,402 is claimed.

BACKGROUND

Computing devices with touch screens give users the flexibility ofworking without a traditional keyboard. These touch screen computingdevices may provide users with a “soft touch” keyboard displayed on thetouch screen. A “soft touch” keyboard allows the user to provide inputon the touch screen using the familiar layout of a keyboard.

While “soft touch” keyboards may provide a convenient way to input text,they may not be practical for long term use in some situations. “Softtouch” keyboards lack the physical characteristics that make traditionalkeyboards so appealing. For example, traditional keyboards can provideusers with the satisfying feeling of pressing a key, haptic feedback,raised features, and the ability to rest their fingers on keys. Thesephysical characteristics can allow for an increased typing speed and amore pleasurable typing experience.

BRIEF DESCRIPTION OF THE DRAWINGS

The concepts described herein are illustrated by way of example and notby way of limitation in the accompanying figures. For simplicity andclarity of illustration, elements illustrated in the figures are notnecessarily drawn to scale. Where considered appropriate, referencelabels have been repeated among the figures to indicate corresponding oranalogous elements.

FIG. 1 is a simplified diagram of an input overlay device integratedwith a compute device having a touch screen display;

FIG. 2 is a simplified diagram of the compute device of FIG. 1 withoutthe input overlay device;

FIG. 3 is a simplified diagram of the topside of the input overlaydevice of FIG. 1 ;

FIG. 4 is a simplified diagram of the underside of the input overlaydevice of FIG. 1 ;

FIG. 5 is a simplified block diagram of at least one embodiment of acompute device of FIG. 1 for integrating with the input overlay device;

FIG. 6 is a block diagram of at least one embodiment of an environmentthat may be established by the compute device of FIGS. 1 and 5 ; and

FIGS. 7-8 are a simplified flow diagram of at least one embodiment of amethod for integrating the input overlay device of FIG. 1 with thecompute device of FIG. 1 that may be executed by the compute device ofFIG. 1 .

DETAILED DESCRIPTION OF THE DRAWINGS

While the concepts of the present disclosure are susceptible to variousmodifications and alternative forms, specific embodiments thereof havebeen shown by way of example in the drawings and will be describedherein in detail. It should be understood, however, that there is nointent to limit the concepts of the present disclosure to the particularforms disclosed, but on the contrary, the intention is to cover allmodifications, equivalents, and alternatives consistent with the presentdisclosure and the appended claims.

References in the specification to “one embodiment,” “an embodiment,”“an illustrative embodiment,” etc., indicate that the embodimentdescribed may include a particular feature, structure, orcharacteristic, but every embodiment may or may not necessarily includethat particular feature, structure, or characteristic. Moreover, suchphrases are not necessarily referring to the same embodiment. Further,when a particular feature, structure, or characteristic is described inconnection with an embodiment, it is submitted that it is within theknowledge of one skilled in the art to effect such feature, structure,or characteristic in connection with other embodiments whether or notexplicitly described. Additionally, it should be appreciated that itemsincluded in a list in the form of “at least one A, B, and C” can mean(A); (B); (C): (A and B); (B and C); (A and C); or (A, B, and C).Similarly, items listed in the form of “at least one of A, B, or C” canmean (A); (B); (C): (A and B); (B and C); (A and C); or (A, B, and C).

The disclosed embodiments may be implemented, in some cases, inhardware, firmware, software, or any combination thereof. The disclosedembodiments may also be implemented as instructions carried by or storedon one or more transitory or non-transitory machine-readable (e.g.,computer-readable) storage medium, which may be read and executed by oneor more processors. A machine-readable storage medium may be embodied asany storage device, mechanism, or other physical structure for storingor transmitting information in a form readable by a machine (e.g., avolatile or non-volatile memory, a media disc, or other media device).

In the drawings, some structural or method features may be shown inspecific arrangements and/or orderings. However, it should beappreciated that such specific arrangements and/or orderings may not berequired. Rather, in some embodiments, such features may be arranged ina different manner and/or order than shown in the illustrative figures.Additionally, the inclusion of a structural or method feature in aparticular figure is not meant to imply that such feature is required inall embodiments and, in some embodiments, may not be included or may becombined with other features.

Referring now to FIG. 1 , an illustrative compute device 102 includes atouch screen display 104 and an input overlay device 106. The inputoverlay device 106 may be placed in any positon on one of the touchscreen displays 104 to facilitate data entry into the compute device102. In response, the compute device 102 detects that the input overlaydevice 106 has been placed on the corresponding touch screen display104, as well as the particular position and orientation of the inputoverlay device 106 on the touch screen display 104. The compute device102 subsequently modifies the touch screen display 104 based on theinput overlay device 106. For example, the input overlay device 106 maybe embodied as a QWERTY keyboard, and the compute device 102 may displayon the touch screen display 104 “soft” keys corresponding to theposition of the keys of the input overlay device 106. A user may theninteract with the input overlay device 106 in a similar manner as atraditional keyboard, such as by pressing down on keys. When a key makescontact with the touch screen display 104, the compute device 102detects the touch and interprets it as a press of the corresponding key.The input overlay device 106 may be configured with similar keys as atraditional keyboard and interface with the compute device 102 in orderto provide the user with a more traditional typing experience.

It should be appreciated that the input overlay device 106 may beapplied to and removed from the touch screen display 104 of the computedevice 102. For example, as shown in FIG. 2 , the input overlay device106 has been removed from compute device 102. In this embodiment,without the input overlay device 106, the touch screen display 104 willoperate as a standard touch screen display, such as by showing text,graphics, buttons, etc. In some embodiments, the compute device 102 mayhave a storage compartment to store the input overlay device 106 insidethe compute device 102 when the input overlay device 106 has beenremoved from the touch screen display 104.

Referring now to FIGS. 3 & 4 , an illustrative embodiment of the topsideand bottom side of the input overlay device 106 is shown in FIG. 3 andFIG. 4 , respectively. The illustrative input overlay device 106includes a base 302. The bottom side 402 (see FIG. 4 ) of the base 302includes several index dots 304, two top edge markers 306, severalmarker dots 308, and several push buttons 310. In the illustrativeembodiment, the base 302 and the various dots 304, 308 and markers 306are made of a flexible material, such as rubber, silicone, or flexibleplastic. However, in some embodiments, the base 302 is made of a rigidmaterial, such as a hard plastic, metal, etc. For example, the base 302may be made from polyethylene terephthalate. In the illustrativeembodiment, the base 302 is transparent or semi-transparent, such thatthe touch screen display 104 is visible through the base 302. However,in some embodiments, some or all of the base 302 may be opaque,transparent, semi-transparent, or translucent. Additionally, in someembodiments, the base 302 may include additional support structure tosupport the base 302 on the touch screen display 104. Such supportstructure may be non-conductive so as to not trigger a touch on thetouch screen display 104. In some embodiments, the input overlay device106 may have one or more blank slots, exposing some portion of the touchscreen display 104. The exposed portion of the touch screen display 104can easily display content related to the input overlay device 106, suchas displaying the current volume level in a media player or a digitdisplay in a calculator.

Each of the index dots 304, the top edge markers 306, and the markerdots 308 may be embodied as any material capable of indicating a contactor “touch” on the touch screen display 104 and fulfilling the functionsdescribed herein, such as metal, conductive rubber, conductive foam,etc. The illustrative index dots 304, the top edge markers 306, and themarker dots 308 are located on the underside of the base 302 of theinput overlay device 106. When the input overlay device 106 is placed onthe touch screen display 104, the index dots 304, the top edge markers306, and the marker dots 308 are in contact with the touch screendisplay 104 in a way that triggers a touch on the touch screen display104 for each dot or marker. In some embodiments, some or all of theindex dots 304, the top edge markers 306, and the marker dots 308 mayalso be placed on the topside of the base 302 of the input overlaydevice 106 in order to provide the user with a reference point on wherethe various markers are located. In some embodiments, the base 302 ofthe input overlay device 106 may be transparent or semi-transparent, asdiscussed above, and the index dots 304 placed on the underside of theinput overlay device 106 may be visible on the topside of the inputoverlay device 106.

The index dots 304 indicate to the compute device 102 that the inputoverlay device 106 has been placed on one of its touch screen displays104 as well as the location, orientation, and/or size of the touchscreen display 104. For example, in some embodiments, the index dots 304may indicate to the compute device 102 the area of the touch screendisplay 104 to be used by the input overlay device 106. In theillustrative embodiment, the input overlay device 106 includes fourindex dots 304, with one located in each of the four corners of theinput overlay device 106. Additionally or alternatively, in someembodiments, the index dots 304 may be placed in different locations ofthe input overlay device 106, such as only in two corners or in one ormore other locations on the input overlay device 106. In someembodiments, the compute device 102 may recognize the index dots 304based on their location and/or on the shape of the index dots 304.

The illustrative top edge markers 306 indicate to the compute device 102which edge of the input overlay device 106 is the top or upper edge. Inthe illustrative embodiment, the input overlay device 106 includes twotop edge marker dots 306 located on the top edge of the input overlaydevice 106. As such, in some embodiments, the compute device 102 mayrecognize the top edge markers 306 based on their location and/or shape.

The illustrative marker dots 308 indicate to the compute device 102various input overlay parameters of the input overlay device 106, suchas the input overlay device type, the input overlay device manufacture,the area used by the input overlay device 106, and/or other parametersof the input overlay device 106. To do so, the input overlay device 106may indicate the various input overlay parameters to the compute device102 using various combinations of marker dots 308. For example, in someembodiments, the input overlay device may include up to 8 marker dots308 on each of the four edges of the input overlay device 106, and thecompute device 102 may interpret each marker dot 308 as a bit. As such,the configuration of the marker dots 308 may indicate input overlaydevice parameters by encoding the input overlay device parameters in thebit pattern represented by the marker dots 308. Additionally oralternatively, the configuration of the marker dots 308 may indicateinput overlay device parameters stored in another location, such as byindicating a product ID, which can be used to look up the associatedinput overlay device parameters. In some embodiments, a certain portionof the base 302 may be reserved for marker dots 308 that indicatespecific parameters such as Vender ID or input overlay device type.

It should be appreciated that, in some embodiments, the input overlaydevice 106 may not include each of the index dots 304, the top edgemarkers 306, and the marker dots 308 and/or some of the index dots 304,the top edge markers 306, and the marker dots 308 may be embodied asmore than one type of marker or dot. For example, the index dots 304 maybe embodied as top edge marker dots 306, and mark both the location ofthe top edge of the input overlay device 106 and the overall locationand orientation of the input overlay device 106.

Additionally, in some embodiments, the input overlay device 106 mayinclude a component to attach the input overlay device 106 to the touchscreen display 104 and/or the compute device 102. For example, the inputoverlay device 106 may include one or more suction cups that attach tothe touch screen display 104. Additionally or alternatively, the inputoverlay device 106 may be permanently or removably attached to thecompute device 102 and may be flipped into and out of position as anoverlay. For example, the input overlay device 106 may be fixed to oneedge of the compute device 102, and may be flipped to one position inwhich the input overly device 106 acts as a cover for the compute device102, such as when the compute device 102 is closed (i.e., the two touchscreen displays 104 are touching or nearly touching each other). Whenthe compute device 102 is opened, the input overly device 106 or “cover”may be flipped onto an underside of the compute device 102 or may beflipped onto a touch screen display 104 and act as an overlay.

The push buttons 310 may be embodied as any type of push button capableof having a material located on the underside of each push button thattriggers a touch on the touch screen display 104 when the correspondingpush button is depressed onto the corresponding touch screen display 104and otherwise capable of fulfilling the functions described herein. Forexample, each push button 310 may include a conductive nub orprotuberance attached to an underside of the corresponding push button310 and configured to contact the touch screen display 104 when the pushbutton 310 is sufficiently depressed. In the illustrative embodiment,the push buttons 310 may be made of any suitable material, such asplastic, rubber, metal, etc., as long as there is conductive patch fromthe top of the push button 310 to a conductive nub that may come intocontact with the touch screen display 104. In the illustrativeembodiment, the push buttons 310 are a rigid material that may have asmall spacing between the push buttons 310, similar to a traditionalkeyboard.

When a user places the input overlay device 106 on the touch screendisplay 104, the index dots 304, the top edge markers 306, and themarker dots 308 come into contact with the touch screen display 104. Asthe various dots 304, 308 and markers 306 come into contact with thetouch screen display 104, the contact triggers a touch on the touchscreen display 104 for each dot 304, 308 or marker 306. When the userfirst places the input overlay device 106 on the touch screen display104, the push buttons 310 are positioned above the touch screen display104 and are not in contact with the touch screen display 104. Eachillustrative push button 310 is configured to move, upon application offorce, from a position above the touch screen display 104 to a positionwhere the push button 310 is in contact with the touch screen display104 such that the touch screen display 104 senses a touch event. Thepush buttons 310 may have a springing mechanism to keep the push buttons108 in the position above the touch screen display 104 absentapplication of an external force. For example, a user may press a pushbutton 310 with their finger to cause the push button 310 to contact thetouch screen display 104. When the user releases his finger from thepush button 310, the springing mechanism causes push button 310 toreturn to the position above the touch screen display 104. The springingmechanism may be any suitable structure capable of performing thefunction described herein, such as a metal spring or other deformablematerial that naturally rebounds to its original shape. It should beappreciated that, in some embodiments, such as ones in which the touchscreen display 104 is a capacitive sensor, the push button 310 mayrequire some kind of electrical interaction with the touch screendisplay 104 in order to trigger a touch event. In such embodiments, thepush button 310 may be configured to trigger a touch event on the touchscreen display 104 in any suitable manner, such as by having acapacitive or conductive element contact the touch screen display 104.In some embodiments, the push buttons 310 may have a conductive elementbetween a top side of the push button 310 that may be in contact with auser's finger and a bottom side of the push button 310 that contacts thetouch screen display 104, thereby coupling the capacitance of the user'sfinger to the touch screen display 104. For example, in someembodiments, the push buttons 310 may include one or more holes filledwith metal, such as holes of a size 50-200 micrometers filled with ballsof solder. However, it should be appreciated that, in the illustrativeembodiment, the input overlay device 106 need not have any active orpowered electronics present, such as a battery, voltage source, or otherpower supply.

In some embodiments, the one or more push buttons 310 may have a labelon the top indicating to the user the input of each push button 310. Forexample, in the illustrative embodiment, the push buttons 310 may bearranged in the form of a QWERTY keyboard. In other embodiments, the oneor more push buttons 310 may be arranged in various configurations, suchas the form of a piano keyboard or calculator. However, in someembodiments, the push buttons 310 are customizable.

Referring now to FIG. 5 , the compute device 102 may be embodied as anytype of compute device capable of interfacing with an input overlaydevice 106 through a touch screen display 104 and performing thefunctions described herein. For example, the compute device 102 may beembodied as or otherwise be included in, without limitation, a tabletcomputer, a notebook computer, a laptop computer, an embedded computingsystem, a server computer, a System-on-a-Chip (SoC), a multiprocessorsystem, a processor-based system, a consumer electronic device, asmartphone, a cellular phone, a desktop computer, a network device, anetworked computer, a wearable computer, a handset, a messaging device,a camera device, and/or any other computing device. The illustrativecompute device 102 includes the processor 502, a memory 504, aninput/output (I/O) subsystem 506, a data storage 508, a touch screendisplay 104, one or more peripheral devices 510, and a communicationsystem 512. In some embodiments, one or more of the illustrativecomponents of the compute device 102 may be incorporated in, orotherwise form a portion of, another component. For example, the memory504, or portions thereof, may be incorporated in the processor 502 insome embodiments.

The processor 502 may be embodied as any type of processor capable ofperforming the functions described herein. For example, the processor502 may be embodied as a single or multi-core processor(s), a single ormulti-socket processor, a digital signal processor, a graphicsprocessor, a microcontroller, or other processor orprocessing/controlling circuit. Similarly, the memory 504 may beembodied as any type of volatile or non-volatile memory or data storagecapable of performing the functions described herein. In operation, thememory 504 may store various data and software used during operation ofthe compute device 102 such as operating systems, applications,programs, libraries, and drivers. The memory 504 is communicativelycoupled to the processor 502 via the I/O subsystem 506, which may beembodied as circuitry and/or components to facilitate input/outputoperations with the processor 502, the memory 504, and other componentsof the compute device 102. For example, the I/O subsystem 506 may beembodied as, or otherwise include, memory controller hubs, input/outputcontrol hubs, firmware devices, communication links (i.e.,point-to-point links, bus links, wires, cables, light guides, printedcircuit board traces, etc.) and/or other components and subsystems tofacilitate the input/output operations. In some embodiments, the I/Osubsystem 506 may form a portion of a system-on-a-chip (SoC) and beincorporated, along with the processor 502, the memory 504, and othercomponents of the compute device 102 on a single integrated circuitchip.

Additionally, compute device 102 may include one or more touch screendisplays 104. The touch screen display(s) 104 may be embodied as anytype of touch screen display capable of generating input data inresponse to being touched by the user of the compute device 102 and onwhich information may be displayed to a user of the compute device 102.The touch screen display 104 may be embodied as, for example, aresistive touch screen, a capacitive touch screen, or a camera-basedtouch screen. The touch screen display 104 may also be embodied as, forexample, a liquid crystal display (LCD), a light emitting diode (LED)display, a cathode ray tube (CRT) display, a plasma display, an imageprojector (e.g., 2D or 3D), a laser projector, a heads-up display,and/or other display technology. In the illustrative embodiment, thetouch screen display 104 may be capable of detecting two or more touchesat different locations at the same time. In some embodiments, the touchscreen display 104 may be capable of detecting an object that ishovering over the touch screen display 104 but not touching it. Forexample, when a user places her/his fingers on the push buttons 310, thetouch screen display 104 may sense the presence of the fingers.

The data storage 508 may be embodied as any type of device or devicesconfigured for the short-term or long-term storage of data. For example,the data storage 508 may include any one or more memory devices andcircuits, memory cards, hard disk drives, solid-state drives, or otherdata storage devices.

The compute device 102 may further include one or more peripheraldevices 510. The peripheral devices 510 may include any number ofadditional input/output devices, interface devices, and/or otherperipheral devices. For example, in some embodiments, the peripheraldevices 510 may include graphics circuitry, a graphical processing unit(GPU) and/or processor graphics, an audio device, a microphone, acamera, a keyboard, a mouse, a network interface, and/or otherinput/output devices, interface devices, and/or peripheral devices.

The compute device 102 also may include the communication subsystem 512,which may be embodied as any communication circuit, device, orcollection thereof, capable of enabling communications between thecompute device 102 and remote devices over a network. For example, thecommunication subsystem 512 may be embodied as or otherwise include anetwork interface controller (NIC) for sending and/or receiving networkdata with remote devices. The communication subsystem 512 may beconfigured to use any one or more communication technology (e.g., wiredor wireless communications) and associated protocols (e.g., Ethernet,InfiniBand®, Bluetooth®, Wi-Fi®, WiMAX, 3G, 4G LTE, etc.) to effect suchcommunication.

Referring now to FIG. 6 , in an illustrative embodiment, the computedevice 102 establishes an environment 600 during operation. Theillustrative environment 600 includes an overlay determiner 602, touchinput controller 604, an operating system input controller 606, adisplay controller 608, and an overlay configuration database 610. Thevarious components of the environment 600 may be embodied as hardware,software, firmware, or a combination thereof. For example, the variouscomponents of the environment 600 may form a portion of, or otherwise beestablished by, the processor 502 or other hardware components of thecompute device 102. As such, in some embodiments, one or more of thecomponents of the environment 600 may be embodied as circuitry orcollection of electrical devices (e.g., overlay determiner circuitry602, touch input controller circuitry 604, etc.). It should beappreciated that, in such embodiments, one or more of the circuits(e.g., the overlay determiner circuitry 602, the touch input controllercircuitry 604, etc.) may form a portion of one or more of the processor502, the memory 504, the I/O subsystem 506, the communication subsystem512, the data storage 508, an application specific integrated circuit(ASIC), a programmable circuit such as a field-programmable gate array(FPGA), and/or other components of the compute device 102. For example,the device touch input controller circuitry 612 may be embodied as theprocessor 502 and associated instructions stored on the data storage 508and/or the memory 504, which may be executed by the processor 502.Additionally, in some embodiments, one or more of the illustrativecomponents may form a portion of another component and/or one or more ofthe illustrative components may be independent of one another. Further,in some embodiments, one or more of the components of the environment600 may be embodied as virtualized hardware components or emulatedarchitecture, which may be established and maintained by the processor502 or other components of the compute device 102. It should beappreciated that some of the functionality of one or more of thecomponents of the environment 600 may require a hardware implementation,in which case embodiments of components which implement suchfunctionality will be embodied at least partially as hardware.

The overlay determiner 602, which may be embodied as hardware, firmware,software, virtualized hardware, emulated architecture, and/or acombination thereof as discussed above, is configured to determine ifthe input overlay device 106 is present and determine the parameters ofthe input overlay device 106 in response to the determination that theinput overlay device 106 being present. The overlay determiner 602includes an overlay detector 612, an overlay parameters determiner 614,and an overlay configuration retriever 616.

The overlay detector 612 is configured to detect if the input overlaydevice 106 has been placed on the touch screen display 104. The overlaydetector 612 may detect the input overlay device 106 by locating atleast one index dot 304 of the input overlay device 106. In someembodiments, the overlay detector 612 may detect the input overlaydevice 106 based on the number of index dots 304 and the location of theindex dots 304 relative to each other. For example, the overlay detector612 may determine if an input overlay device 106 has been placed on atouch screen display 104 when four touches are detected that form a 12inch by 4 inch rectangle. In some embodiments, the overlay detector 612may determine if an input overlay device 106 has been placed on thetouch screen display 104 based on the shape of the of the touches. Itshould be appreciated that, because the position and orientation of theinput overlay device 106 can be detected and compensated for, the inputoverlay device 106 does not need to be precisely positioned and orientedon the display. Additionally, the input overlay device 106 may be placedon touch screen displays 104 of various sizes, as long as some or all ofinput overlay device 106 is on the touch screen display 104.

The overlay parameters determiner 614 is configured to determine theoverlay parameters of the input overlay device 106. The overlayparameters determiner 614 may determine the overlay parameters of theinput overlay device 106 using the configuration of the marker dots 308and the top edge markers 306. In some embodiments, the marker dots 308may indicate input overlay device parameters by encoding the inputoverlay device parameters in the bit pattern represented by the markerdots 308. Additionally or alternatively, the marker dots 308 mayindicate particular input overlay device parameters that are stored inanother location, such as by indicating a product ID, which can be usedto look up the associated input overlay device parameters. For example,in one embodiment, there may be 32 possible marker dots 308, and thepresence of a marker dot 308 in a particular position can represent a“1” and the absence of a marker dot 308 can represent a “0.” The 32-bitstring that the marker dots 308 represent can be used to look up inputoverlay device parameters in the overlay configuration database 610.

The overlay parameters of the input overlay device 106 may include atleast the input overlay device type, the orientation of the inputoverlay device 106, the key mapping data, the area of the touch screendisplay 104 to be used by the input overlay device 106, etc. Key mappingdata may include a table that defines a boundary for each push button310 relative to a part of the input overlay device 106, such as relativeto one of the index dots 304. For example, in one embodiment, one indexdot 304 (e.g., the upper left index dot 304) may be defined as the (0,0) coordinate and is treated as the origin of the coordinate system. Thex-direction may increase positively towards the right side, and they-direction may increase positively towards the downward direction. Thescale is fixed by the input overlay parameters, such that coordinatesare relative to the input overlay device 106 and can be scaled to matchthe resolution of the touch screen display 104. The horizontal andvertical scales may use some arbitrary unit to define the coordinatesystem, such as a scale for the x-direction that goes from 0 to 1000 anda scale for the y-direction that goes from 0 to 100. In this coordinatesystem, the (1000, 100) point may be the bottom right index dot 304.When the touch screen display 104 detects the touch coordinates for theindex dots 304, the compute device 102 can map the location of the indexdots 304 on the touch screen display 104 to the coordinates of the indexdots 304 relative to the input overlay device 106, creating a simplescaling system that may be used while the input overlay device 106 is onthe touch screen display 104. In some embodiments, the key mapping datais customizable by the user.

The key mapping data may specify how a particular push button 310 islabeled or a particular function that is expected to be associated withthe push button 310. For example, the input overlay device 106 may beembodied as a QWERTY keyboard, and the key mapping data may indicatewhich letter or symbol each push button 310 is labeled with. In anotherexample, the input overlay device 106 may be embodied as a media playerinterface, and the key mapping data may indicate a particular functionassociated with each push button 310, such as pause, play, fast-forward,etc. In some embodiments, the input overlay device parameters mayindicate that input from certain portions of the touch screen display104 should be ignored. For example, a user might rest his hands belowthe input overlay device 106 and in contact with the touch screendisplay 104, and the input overlay device parameters may indicate thatsuch contact should be ignored. The input overlay device parameters mayalso define a portion of the touch screen display 104 that can be usedfor a particular function, such as functioning similar to a touchpadinput on a laptop for controlling the position of a cursor. Additionallyor alternatively, the input overlay parameters may define a portion ofthe touch screen display 104 that can be used as input for performingaction with a cursor, similar to buttons on a mouse. It should beappreciated that, in some embodiments, the portion of the touch screendisplay 104 that the input overlay device parameters indicate should beignored may extend beyond the portion of the touch screen display 104that is covered by the input overlay device 106.

Once the input overlay device 106 has been identified, the computedevice 102 may load or access certain software modules or drivers. Forexample, the overlay detector 602 may detect a QWERTY keyboard on thetouch screen display 104, and the compute device 102 may load softwareto transform the touches on the touch screen display 104 to theequivalent of key presses of a keyboard.

The overlay configuration retriever 616 is configured to retrieve theoverlay configuration data for the input overlay device 106 from theoverlay configuration database 610. The overlay configuration datacorrelates each touch on the touch screen display 104 to an input of theinput overlay device 106. The overlay configuration data retrieved foreach input overlay device 106 may be based on the determined inputoverlay device type.

The touch input controller 604, which may be embodied as hardware,firmware, software, virtualized hardware, emulated architecture, and/ora combination thereof as discussed above, is configured to determine theintended touch input from a user. The touch input controller 604 maydetermine if a touch has been detected. The touch input controller 604may then determine the location of the touch on the touch screen display104. The touch input controller 604 may then analyze the location of thetouch based on the input overlay device parameters of the input overlaydevice 106 to determine the intended input corresponding to the touch.In some embodiments, the touch input controller 604 may detect a touchlocated outside of the area defined by the input overlay device 106. Thetouch input controller 604 may then ignore the touch outside the definedarea or perform a different action based on the touch being outside thedefined area. In some embodiments, the touch input controller 604 mayalso detect an object that is hovering over the touch screen display 104but not touching it. For example, when a user places his fingers on thepush buttons 310, the touch input controller 604 may sense the presenceof the fingers. Processing done by the touch input controller 604 may bedone on the main processor of the compute device 102 and/or may be doneon a dedicated component for interpreting such touch input.

The operating system input controller 606, which may be embodied ashardware, firmware, software, virtualized hardware, emulatedarchitecture, and/or a combination thereof as discussed above, isconfigured in the illustrative embodiment to hide the area of the touchscreen display 104 to be used by the input overlay device 106 from theoperating system of the compute device 102. The operating system inputcontroller 606 may translate the inputs from the input overlay device106 from raw touch input to “clean” inputs for the operating system. Forexample, in some embodiments, the operating system input controller 606will emulate the touch inputs as peripheral inputs, such as a USBkeyboard. The operating system input controller 606 may, in someembodiments, remove the touch screen display 104 associated with theinput overlay device 106 as an available display shown to the operatingsystem and other software on the compute device 102. For example, insome embodiments, the touch screen display 104 associated with the inputoverlay device 106 may only be used only for input and may not beavailable for displaying, e.g., an application window. Of course,another display or touch screen display 104 that does not have an inputoverlay device 106 on it may still be used as a normal display. When theinput overlay device 106 is removed from the touch screen display 104,the operating system input controller 606 is configured to expose thearea of the touch screen display 104 used by the input overlay device106 to the operating system of the compute device 102.

The display controller 608, which may be embodied as hardware, firmware,software, virtualized hardware, emulated architecture, and/or acombination thereof as discussed above, is configured to control theimages displayed on the touch screen display 104 that has on it a inputoverlay device 106. The display controller 608 may generate images to bedisplayed based on the overlay configuration data and keyboard mappingdata. In some embodiments, the input overlay device 106 may be a QWERTYkeyboard and the display controller 608 may generate an image of aQWERTY keyboard to be displayed under the input overlay device 106.Additionally or alternatively, the display controller 608 may modify theimage displayed on the touch screen display 104 based on the input ofthe user. In some embodiments, the display controller 608 may light upthe area under a push button 310 when the pushed button 310 is pusheddown to be in contact with the touch screen display 104. In someembodiments, the display controller 608 may highlight an area designatedfor, e.g., num lock, caps lock, or scroll lock when the correspondinglock is active.

The overlay configuration database 610 includes data related to theoverlay configuration for various types of input overlay devices 106.The overlay configuration data may include data related to thecoordinate system used by the input overlay devices 106 of a particulartype. The overlay configuration data may map the location of a touch toits indented input. In some embodiments, the input overlay device 106 isa QWERTY keyboard and the overlay configuration data correlates with thelocation of the touch with a keyboard input.

The overlay configuration database 610 stores configuration data for atleast one input overlay device 106. The overlay configuration database610 may receive configuration data from any suitable source, such asdownloading it from the Internet or copying it from media provided by auser.

Referring now to FIG. 7 , in use, the compute device 102 may execute amethod 700 for interfacing with an input overlay device 106. The method700 begins in block 702, in which the compute device 102 determines if atouch has been detected on the touch screen display 104 of the computedevice 102. If no touch has been detected, the method 700 moves back toblock 702 and continues monitoring for a touch. If a touch has beendetected, the method 700 advances to block 704. In block 704, thecompute device 102 determines if an input overlay device 106 has beenplaced on the touch screen display 104. The compute device 102 maydetermine if an input overlay device 106 is present by determining if aspecific arrangement of touches is present. In some embodiments, thecompute device 102 may detect the input overlay device 106 based on thenumber of index dots 304 and the location of the index dots 304 relativeto each other. For example, the compute device 102 may determine if aninput overlay device 106 has been placed on a touch screen display 104when four touches are detected that form a 12 inch by 4 inch rectangle.In some embodiments, the compute device 102 may determine if an inputoverlay device 106 has been placed on the touch screen display based onthe shape of the of the touches. If the compute device 102 does notdetect an input overlay device 106, the method 700 moves back to block702. If the compute device 102 detects an input overlay device 106, thenthe method 700 advances to block 706.

In block 706, the compute device 102 locates the index dots 304, the topedge markers 306 and the marker dots 308. The compute device 102 maylocate the dots 304, 308 and markers 306 at least partially based onwhich touches on the touch screen display 104 remain constant. In someembodiments, the compute device 102 may determine the type of dot/markerby the shape of the touch. Additionally or alternatively, in someembodiments, the compute device 102 may determine the type of dots 304,308 and markers 306 by comparing the touch locations relative to eachother and to a preset configuration. For example, a QWERTY keyboard maycontain four index dots 304, two top edge marker 306 and up to 32 markerdots 308 in a rectangle configuration. The four index dots 304 may bedetected by locating the four touches in the corners of the rectangle oftouches. The two top edge markers 306 may be detected by locating thetwo touches immediately next to two of the index dots 304. The markerdots 308 may be detected by locating the dots along the edges of therectangle of touches that are not the index dots 304 or the top edgemarkers 306. In some embodiments, the compute device 102 may load oraccess certain software modules based on the dot/markers located.

In block 708, the compute device 102 determines one or more parametersof the input overlay device 106. The compute device 102 may determinethe one or more parameters using the located index dots 304, top edgemarkers 306, and/or marker dots 308. The determined parameters maydescribe the different attributes of the input overlay device 106.

In block 710, the compute device 102 determines the type of the inputoverlay device 106. The type of the input overlay device 106 maydescribe the function or layout of the input overlay device 106. Forexample, the input overlay device type may be a QWERTY keyboard or apiano. In some embodiment, the compute device 10 may determine the typeof the input overlay device 106 may looking up information in a databasebased on a vender ID or product ID of the input overlay device 106 thatis indicated by the configuration of marker dots 308. For example, theinput overlay device 106 may have up to eight marker dots 308 along eachof the four edges of the input overlay device 106. The presence orabsence of the 32 marker dots 308 would allow for 2{circumflex over( )}32 different possible patterns of marker dots. A particular patternof marker dots may indicate that the input overlay device 106 is, e.g.,a QWERTY keyboard, a piano keyboard, or a calculator. In someembodiments, certain marker dots 308 may be reserved for particularparameters such as vendor ID.

In block 712, the compute device 102 may determine the orientation ofthe input overlay device 106. The compute device 102 may use the topedge marker dots 308 to determine which side of the input overlay device106 will be considered the “top.” In some embodiments, the orientationof the input overlay device 106 may also indicate the alignment of theinput overlay device 106. It should be appreciated that the orientationneed not be precise, and the compute device 102 may detect and correctfor an orientation that is askew.

In block 714, the compute device 102 may determine the key mapping data.Key mapping data may indicate to the compute device 102 which pushbuttons 310 of the input overlay device 106 correspond to which input.For example, for a QWERTY keyboard, the key mapping data may indicatethat the push button 310 in the top left corner indicates a “′” input.In some embodiments, the key mapping data may designate push buttons 310for a “touch pad” such as left and right click. In some embodiments, thekey mapping data is customizable by the user.

In block 716, the compute device 102 may determine the area of the touchscreen display 104 to be used by the input overlay device 106. Thecompute device 102 may determine the area based on the marker dots 308,the boundary made by the marker3 304, 308 and dots 306, the overlayconfiguration data, or any combination of the above. In someembodiments, the designated area may include a “touch pad” area. The“touch pad” area may correspond to a gap in the input overlay device106, a thin layer of the input overlay device 106 or a designed areanear the input overlay device 106.

In block 718, the compute device 102 may retrieve overlay configurationdata from the overlay configuration database 610. The overlayconfiguration data may be retrieved based on the input overlay devicetype. The overlay configuration data may define the area used by theinput overlay device 106. The overlay configuration data may include atable that defines a boundary for each push button 310 relative to partof the input overlay device 106, such as relative to one of the indexdots 304. For example, in one embodiment, one index dot 304 (e.g., theupper left index dot 304) may be defined as the (0, 0) coordinate and istreated as the origin of the coordinate system. The x-direction may gopositive towards the right side, and the y-direction goes positivetowards the downward direction. The scale is fixed by the input overlayparameters, such that coordinates are relative to the input overlaydevice 106 and can be scaled to match the resolution of the touch screendisplay 104. The horizontal and vertical scales may use some arbitraryunit to define the coordinate system, such as a scale for thex-direction that goes from 0 to 1000 and a scale for the y-directionthat goes from 0 to 100. In this coordinate system, the (1000, 100)point may be the bottom right index dot 304. When the touch coordinatesfor the index dots 304 are reported, the compute device 102 can map thelocation of the index dots 304 on the touch screen display 104 to thecoordinates of the index dots 304 relative to the input overlay device106, creating a simple scaling system that the compute device 102 mayuse while the input overlay device 106 is on the touch screen display104. In some embodiments, the overlay configuration data is customizableby the user.

In block 720, the compute device 102 may hide from the operating systemthe area of the touch screen display 104 to be used by the input overlaydevice 106. After the area has been hidden, the operating system (OS)and/or applications of the compute device 102 will not have access tothat area of the touch screen display 104. In some embodiments, thecompute device 102 may notify the display driver of the touch screendisplay 104 that an input overlay device 106 is active, thereby lettingthe device driver remove the touch screen display 104 from the devicesshown to the OS and/or applications and only allow specific componentssuch as the touch input controller 604 to manage the lighting of thepixels of the corresponding area. In some embodiments, the computedevice 102 may have two touch screen displays 104, and, when an inputoverlay device 106 is detected on one of the touch screen displays 104,the display driver is notified to remove that touch screen display 104from the OS. This would allow the OS to move all the application and OSwindows to the touch screen display 104 without the input overlay device106, and no application content would be displayed on the touch screendisplay 104 with the input overlay device 106.

In block 722, the compute device 102 may display the key mapping data onthe touch screen display 104. The compute device 102 may use the keymapping data along with the overlay configuration data and theorientation data to map the keys of the input overlay device 106 ontothe touch screen display 104. For example, when the input overlay device106 is a QWERTY keyboard, an image of a keyboard may be displayed underthe input overlay device 106. In some embodiments, the input overlaydevice 106 is transparent and the user will be able to see the displayedkey positions under the input overlay device 106. In some embodiments, a“touch pad” or “mouse pad” area may be displayed. In some embodiments,the input overlay device 106 may have exposed portions and the computedevice may display content on the exposed portions. For example, theexposed portions may display current volume for a media player orresults from a calculator.

Referring now to FIG. 8 , in block 724, the compute device 102determines whether the input overlay device 106 is still on the touchscreen display 104. The compute device 102 may determine if the inputoverlay device 106 is still in place by monitoring if the index dots304, top edge marker 306, and markers dots 308 are still detected. Whenthese dots 304, 308 and/or markers 306 are no longer detected, thecompute device 102 may conclude that the input overlay device 106 hasbeen removed from the touch screen display 104. If the compute device nolonger detects the input overlay device 106, then the method 700 jumpsto block 744, in which the compute device 102 may expose the area of thetouch screen display 104 that was used by the input overlay device 106to the operating system. If the compute device 102 continues to detectthe input overlay device 106, then the method 700 advances to block 726.

In block 726, the compute device 102 determines whether a new touch (orhover) has been detected on the touch screen display 104. If the computedevice 102 does not detect a new touch, the method 700 loops back toblock 724 to again check if the input overlay device 106 is detected. Ifthe compute device 102 does detect a new touch (or hover), then themethod 700 advances to block 728.

In block 728, the compute device 102 determines the position of thetouch on the touch screen display 104. In some embodiments, the computedevice 102 determines the positon of the hover on the touch screendisplay 104.

In block 730, the compute device 102 determines whether the touch islocated outside the area reserved for the input overlay device 106. Insome embodiments, the compute device 102 determines whether the hover islocated outside the area reserved for the input overlay device 106. Ifthe touch or hover is located inside the input overlay device 106 area,the method proceeds to block 738, in which an input is determined basedon the touch. If the touch or hover is located outside the input overlaydevice area, the method 700 advances to block 732.

In block 732, the compute device determines whether the touch or hoveris located in another reserved area. If the touch or hover is located inanother reserved area, then the compute device 102 advances to block734, in which the compute device 102 preforms an action based on thetouch or hover in the reserved area, such as movement of a mouse orcursor. If the touch or hover is not located in another reserved area,then method 700 advances to block 736, in which the compute device 102ignores the touch or hover and moves back to block 724.

Referring back to block 730, if the compute device 102 determines thatthe touch or hover is located in the area designated for the inputoverlay device 106, then the method 700 advances to block 738. In block738, the compute device 102 determines the intended input based on thelocation of the touch or hover and the overlay configuration data. Forexample, the area that the input overlay device 106 covers may bedivided into a grid based system. The compute device may determine thelocation of a touch in the grid and locate the corresponding key strokebased on the location in the grid. One location in the grid maycorrespond to, e.g., a key in a QWERTY keyboard.

In block 740, the compute device 102 may transmit the input (such as akey press on a QWERTY keyboard) to the operating system. If the area ofthe touch screen display 104 is hidden from the operating system of thecompute device 102, then the raw touch input may be converted to a“clean” input for the operating system. In some embodiments, the “clean”input may appear as an input from a peripheral device such as an USBkeyboard.

In block 742, the compute device 102 may update the touch screen display104 based on the user input. In some embodiments, the compute device 102may change the lighting under a key stroke when the corresponding pushkey is struck. The compute device 102 then advances back to block 724and detects if the input overlay device 106 is still on to the touchscreen display 104.

Referring back to block 724, if an input overlay device is not detected,the method proceeds to block 744. In block 744, the compute device 102may expose to the operating system the area of the touch screen display104 that the input overlay device 106 used. In block 746, the computedevice 102 may continue normal operation of the touch screen display 104without the input overlay device 106.

EXAMPLES

Illustrative examples of the devices, systems, and methods disclosedherein are provided below. An embodiment of the devices, systems, andmethods may include any one or more, and any combination of, theexamples described below.

Example 1 includes a compute device for interfacing with an inputoverlay device, the compute device comprising a touch screen display;overlay determiner circuitry to determine that the input overlay devicehas been placed on top of at least a portion of the touch screendisplay; and determine one or more parameters of the input overlaydevice; and touch input controller circuitry to detect a position of atouch on the portion of the touch screen display covered by the inputoverlay device; and determine an input based on the position of thetouch and the one or more parameters of the input overlay device.

Example 2 includes the subject matter of Example 1, and wherein thetouch input controller circuitry is further to detect a position of ahover on the portion of the touch screen display covered by the inputoverlay device.

Example 3 includes the subject matter of any of Examples 1 and 2, andwherein the overlay determiner circuitry is further to detect a positionof one or more marker dots of the input overlay device in contact withthe touch screen display, wherein the position of the one or more markerdots indicate the one or more parameters of the input overlay device.

Example 4 includes the subject matter of any of Examples 1-3, andwherein the compute device further comprises an overlay configurationdatabase; and wherein the overlay determiner circuitry is further toretrieve overlay configuration data from the overlay configurationdatabase based on the position of the one or more marker dots, whereinthe overlay configuration data comprises the one or more parameters ofthe input overlay device.

Example 5 includes the subject matter of any of Examples 1-4, andwherein the overlay determiner circuitry is further to determine aposition of the input overlay device on the touch screen display,wherein to determine an input based on the position of the touch and theone or more parameters of the input overlay device comprises todetermine an input based on the position of the touch and the positionof the input overlay device.

Example 6 includes the subject matter of any of Examples 1-5, andwherein the compute device further comprises display controllercircuitry to display key mapping data on the one or more touch screendisplays.

Example 7 includes the subject matter of any of Examples 1-6, andwherein the one or more parameters of the input overlay device comprisesan area of the one or more touch screen displays to be used as atouchpad.

Example 8 includes the subject matter of any of Examples 1-7, andwherein the compute device further comprises an operating system andoperating system input controller circuitry, wherein the operatingsystem input controller is to hide an area of the touch screen to beused by the input overlay device from the operating system; and emulatethe input as a peripheral input to the operating system.

Example 9 includes the subject matter of any of Examples 1-8, andwherein the one or more parameters of the input overlay device comprisean indication of an area of the touch screen display that should beignored.

Example 10 includes the subject matter of any of Examples 1-9, andfurther including the input overlay device, wherein the input overlaydevice comprises a base comprising a top side and a bottom side, whereinthe bottom side is to be placed on the touch screen display of thecompute device; one or more index dots on the bottom side of the base,wherein the one or more index dots indicate to the compute device thatthe overlay has been placed on the touch screen display; and one or morepush buttons configured to move, upon application of force, from a firstposition to a second position such that, when the input overlay deviceis placed on the touch screen display, the corresponding push button isin contact with the touch screen display in the second position and isnot in contact with the touch screen display in the first position.

Example 11 includes an input overlay device for a compute device, theinput overlay device comprising a base comprising a top side and abottom side, wherein the bottom side is to be placed on a touch screendisplay of the compute device; one or more index dots on the bottom sideof the base, wherein the one or more index dots indicate to the computedevice that the overlay has been placed on the touch screen display; andone or more push buttons configured to move, upon application of force,from a first position to a second position such that, when the inputoverlay device is placed on the touch screen display, the correspondingpush button is in contact with the touch screen display in the secondposition and is not in contact with the touch screen display in thefirst position.

Example 12 includes the subject matter of Example 11, and wherein thebase and the one or more push buttons are transparent orsemi-transparent and wherein at least a portion of each of the one ormore push buttons is conductive such that a finger placed on the top ofeach push button is electrically coupled to the touch screen displaywhen the push button is in the second position.

Example 13 includes the subject matter of any of Examples 11 and 12, andfurther including one or more marker dots, wherein a position of the oneor more marker dots indicate one or more input overlay device parametersfor the compute device to use to interpret touch input on the touchscreen display.

Example 14 includes the subject matter of any of Examples 11-13, andwherein the type of the input overlay device is a QWERTY keyboard.

Example 15 includes the subject matter of any of Examples 11-14, andwherein each of the one or more push buttons comprises a capacitive orconductive element that is in contact with the touch screen display whenthe push button is in the second position.

Example 16 includes the subject matter of any of Examples 11-15, andfurther including one or more suction cups, wherein the one or moresuction cups are configured to attach the input overlay device to thetouch screen display.

Example 17 includes one or more computer-readable media comprising aplurality of instructions stored thereon that, when executed, causes acompute device to determine that an input overlay device has been placedon top of at least a portion of a touch screen display of the computedevice; determine one or more parameters of the input overlay device;detect a position of a touch on the portion of the touch screen displaycovered by the input overlay device; and determine an input based on theposition of the touch and the one or more parameters of the inputoverlay device.

Example 18 includes the subject matter of Example 17, and wherein theplurality of instructions further cause the compute device to detect aposition of a hover on the portion of the touch screen display coveredby the input overlay device.

Example 19 includes the subject matter of any of Examples 17 and 18, andwherein the plurality of instructions further cause the compute deviceto detect a position of one or more marker dots of the input overlaydevice in contact with the touch screen display, wherein the position ofthe one or more marker dots indicate the one or more parameters of theinput overlay device.

Example 20 includes the subject matter of any of Examples 17-19, andwherein the plurality of instructions further cause the compute deviceto retrieve an overlay configuration data from an overlay configurationdatabase based on the position of the one or more marker dots, whereinthe overlay configuration data comprises the one or more parameters ofthe input overlay device.

Example 21 includes the subject matter of any of Examples 17-20, andwherein the plurality of instructions further cause the compute deviceto determine a position of the input overlay device on the touch screendisplay, wherein to determine an input based on the position of thetouch and the one or more parameters of the input overlay devicecomprises to determine an input based on the position of the touch andthe position of the input overlay.

Example 22 includes the subject matter of any of Examples 17-21, andwherein the plurality of instructions further cause the compute deviceto display key mapping data on the touch screen displays.

Example 23 includes the subject matter of any of Examples 17-22, andwherein the one or more parameters of the input overlay device comprisesan area of the touch screen display to be used as a touchpad.

Example 24 includes the subject matter of any of Examples 17-23, andwherein the plurality of instructions further cause the compute deviceto hide an area of the touch screen display to be used by the inputoverlay device from an operating system of the compute device; andemulate the input as a peripheral input to the operating system.

Example 25 includes the subject matter of any of Examples 17-24, andwherein the one or more parameters of the input overlay device comprisean indication of an area of the touch screen display that should beignored.

The invention claimed is:
 1. A computing device, comprising: a touchscreen; at least one memory; at least one processor to executeinstructions to: determine parameters associated with an input overlaydevice overlaying the touch screen, the input overlay device separatefrom the computing device, the parameters to identify a first area ofthe touch screen, a second area of the touch screen different than thefirst area, and a third area of the touch screen separate from the firstarea and separate from the second area, the first area corresponding toan area of the touch screen covered by the input overlay device, thethird area to be used as a touchpad to enable control of a position of acursor; detect a position of a touch on the touch screen; when theposition of the touch is in the first area, determine an input for thecomputing device based on the position of the touch; when the positionof the touch is in the second area, ignore the touch; and when theposition of the touch is in the third area, adjust the position of thecursor based on the touch.
 2. The computing device of claim 1, whereinthe at least one processor is to determine the parameters based onmarkers on the input overlay device detected via the touch screen. 3.The computing device of claim 2, wherein the at least one processor isto determine the parameters based on a bit pattern indicated by anarrangement of the markers on the input overlay device, ones of themarkers corresponding to individual bits in the bit pattern.
 4. Thecomputing device of claim 3, wherein the at least one processor is todetermine a position of the input overlay device on the touch screenbased on the markers, the bit pattern indicated by a first set of themarkers, the position of the input overlay device indicated by a secondset of the markers different than the first set.
 5. The computing deviceof claim 3, wherein the at least one processor is to look up theparameters in a database based on a string of bits represented by thebit pattern.
 6. The computing device of claim 1, wherein the second areacorresponds to an area of the touch screen uncovered by the inputoverlay device.
 7. At least one computer-readable storage devicecomprising instructions that, when executed, cause at least oneprocessor of a computing device to at least: determine parametersassociated with an input overlay device removably supported by a touchscreen of the computing device, the input overlay device separate fromthe computing device, the parameters to identify a first area of thetouch screen, a second area of the touch screen different than the firstarea, and a third area of the touch screen separate from the first areaand separate from the second area, the first area corresponding to anarea of the touch screen covered by the input overlay device, the thirdarea to be used as a touchpad to enable control of a position of acursor; detect a position of a touch on the touch screen; when theposition of the touch is in the first area, determine an input for thecomputing device based on the position of the touch; when the positionof the touch is in the second area, ignore the touch; and when theposition of the touch is in the third area, adjust the position of thecursor based on the touch.
 8. The at least one computer-readable storagedevice of claim 7, wherein the instructions are to cause the at leastone processor to determine the parameters based on markers on the inputoverlay device detected via the touch screen.
 9. The at least onecomputer-readable storage device of claim 8, wherein the instructionsare to cause the at least one processor to determine the parametersbased on a bit pattern indicated by an arrangement of the markers on theinput overlay device, ones of the markers corresponding to individualbits in the bit pattern.
 10. The at least one computer-readable storagedevice of claim 9, wherein the instructions are to cause the at leastone processor to determine a position of the input overlay device on thetouch screen based on the markers, the bit pattern indicated by a firstset of the markers, the position of the input overlay device indicatedby a second set of the markers different than the first set.
 11. The atleast one computer-readable storage device of claim 9, wherein theinstructions are to cause the at least one processor to look up theparameters in a database based on a string of bits represented by thebit pattern.
 12. A computing device comprising: means for displaying,the displaying means including means for sensing a touch on thedisplaying means; and means for processing to: determine parametersassociated with an input overlay device placed on top of the displayingmeans, the input overlay device separate from the computing device, theparameters to identify a first area of the displaying means, a secondarea of the displaying means different than the first area, and a thirdarea of the displaying means separate from the first area and separatefrom the second area, the first area corresponding to an area of thedisplaying means covered by the input overlay device, the third area tobe used as a touchpad to enable control of a position of a cursor;detect a position of the touch on the displaying means; when theposition of the touch is in the first area, determine an input for thecomputing device based on the position of the touch; when the positionof the touch is in the second area, ignore the touch; and when theposition of the touch is in the third area, adjust the position of thecursor based on the touch.
 13. The computing device of claim 12, whereinthe processing means is to determine the parameters based on markers onthe input overlay device detected via the displaying means.
 14. Thecomputing device of claim 13, wherein the processing means is todetermine the parameters based on a bit pattern indicated by anarrangement of the markers on the input overlay device, ones of themarkers corresponding to individual bits in the bit pattern.
 15. Thecomputing device of claim 14, wherein the processing means is todetermine a position of the input overlay device on the displaying meansbased on the markers, the bit pattern indicated by a first set of themarkers, the position of the input overlay device indicated by a secondset of the markers different than the first set.
 16. The computingdevice of claim 14, wherein the processing means is to look up theparameters in a database based on a string of bits represented by thebit pattern.
 17. An input overlay device comprising: a base; markerscarried by the base, the markers detectable by a touch screen of acomputing device when the base is on the touch screen, the markers toindicate to the computing device that the input overlay device is on thetouch screen, an arrangement of the markers to indicate one or moreinput overlay device parameters, the arrangement of the markersincluding a first array of at least two markers adjacent a first edge ofthe base and a second array of at least two markers adjacent a secondedge of the base, the markers in the first array different than themarkers in the second array; and a push button having a top side and abottom side, the bottom side to contact the touch screen when the topside of the push button is pressed by a user, the push button includinga conductive material extending between the top side and the bottom sideto electrically couple a capacitance of the user at the top side of thepush button to the touch screen at the bottom side of the push buttonwhen the push button is pressed by the user, the computing device to usethe one or more input overlay device parameters to interpret an inputassociated with the push button being pressed.
 18. The input overlaydevice of claim 17, wherein the base and the push button are transparentor semi-transparent.
 19. An input overlay device comprising: a base;markers carried by the base, the markers detectable by a touch screen ofa computing device when the base is on the touch screen, the markers toindicate to the computing device that the input overlay device is on thetouch screen, an arrangement of the markers to indicate one or moreinput overlay device parameters, the arrangement of the markers toindicate a bit pattern, ones of the markers corresponding to individualbits in the bit pattern, and a push button having a top side and abottom side, the bottom side to contact the touch screen when the topside of the push button is pressed by a user, the push button includinga conductive material extending between the top side and the bottom sideto electrically couple a capacitance of the user at the top side of thepush button to the touch screen at the bottom side of the push buttonwhen the push button is pressed by the user, the computing device to usethe one or more input overlay device parameters to interpret an inputassociated with the push button being pressed.